using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ManaFilterTab")]
	public class ManaFilterTab : PegUIElement
	{
		public enum FilterState
		{
			ON,
			OFF,
			DISABLED
		}

		public static int ALL_TAB_IDX => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "ManaFilterTab", "ALL_TAB_IDX");

		public static int SEVEN_PLUS_TAB_IDX => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "ManaFilterTab", "SEVEN_PLUS_TAB_IDX");

		public UberText m_costText => method_3<UberText>("m_costText");

		public UberText m_otherText => method_3<UberText>("m_otherText");

		public ManaCrystal m_crystal => method_3<ManaCrystal>("m_crystal");

		public int m_manaID => method_2<int>("m_manaID");

		public FilterState m_filterState => method_2<FilterState>("m_filterState");

		public ManaFilterTab(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ManaFilterTab(IntPtr address)
			: this(address, "ManaFilterTab")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public void SetFilterState(FilterState state)
		{
			method_8("SetFilterState", state);
		}

		public void NotifyMousedOver()
		{
			method_8("NotifyMousedOver");
		}

		public void NotifyMousedOut()
		{
			method_8("NotifyMousedOut");
		}

		public void SetManaID(int manaID)
		{
			method_8("SetManaID", manaID);
		}

		public int GetManaID()
		{
			return method_11<int>("GetManaID", Array.Empty<object>());
		}

		public void UpdateManaText()
		{
			method_8("UpdateManaText");
		}
	}
}
